В настоящее время задачи ускорения вычислений и/или их оптимизация является достаточно актуальной задачей. Среди направлений решения вышеприведенной задачи в статье рассматривается применение подхода распараллеливания и асинхронизации алгоритма сортировки. Предлагается метод сортировки, основанный на принципе разбиения всего массива на множество независимых пар чисел и их параллельное и асинхронное сравнение, что отличает предлагаемый алгоритм от традиционных алгоритмов сортировки (таких как быстрая сортировка, сортировка слиянием, вставками и другие). Алгоритм реализован с использованием сетей Петри как наиболее подходящего инструмента для описания асинхронных систем, а также приведен пример его работы. В статье выполнена оценка быстродействия алгоритма для наилучшего и наихудших случаев. В наилучшем случае алгоритм выполняется за 2 или 3 условных такта в зависимости от разбиения массива на пары соседних элементов. В наихудшем случае – за n или за 3n/2, где n – число элементов. Принципы распараллеливания и асинхронизации, использованные при построении алгоритма, также могут быть применены для других алгоритмов.
Рассматриваются и анализируются некоторые из известных способов и методик разработки программного обеспечения (ПО), в частности этапа проектирования, как одного из важнейших. Описывается методика, в которой используются UML диаграммы для моделирования свойств и динамики работы системы, а также сети Петри для анализа динамических свойств спроектированных поведенческих диаграмм. Приводится усовершенствованная методика взаимного использования UML диаграмм и сетей Петри. Предлагаемая методика демонстрируется на примере системы АСУ ТП насосной станции, а именно, проектирования диаграммы прецедентов, диаграмма классов и диаграмма объектов, а также диаграмма деятельности, преобразование которой реализуется по формальным правилам. При анализе сети Петри, транслированной из диаграммы деятельности, были выявлены некорректные состояния, в которых оказывалась система при включении и выключении насосов оператором. После устранения данной ситуации, ошибок в динамике работы системы не осталось. В результате анализа получено представление о размере дерева достижимости системы, составляющее величину порядка 10 6 .
В работе описываются разработанные авторами инструментальные средства и комплексный подход на их основе, при котором методы и средства анализа и верификации обеспечены для представителей всех четырех основных классов языков, на которых обычно описываются телекоммуникационные приложения: языки выполняемых спецификаций общего назначения (SDL), языки для описания и анализа укрупненных образцов поведения и выявления зависимостей между ними в сложных системах (UCM), специализированные языки, ориентированные на верификацию спецификаций телекоммуникационных систем (язык интерпретированных MSC диаграмм, язык взаимодействующих конечных автоматов, язык Dynamic-REAL) и индустриальные императивные языки (C/С++). Верификация спецификаций дополняется автоматизированным построением тестовых наборов, обеспечивающих заданную степень покрытия исходных поведенческих требований, причем эти тестовые наборы оптимизированы по заданным критериям производительности. Исполнение тестов происходит в среде автоматизированного тестирования на моделях систем, либо непосредственно на их реализациях, погруженных в соответствующие программные оболочки, обеспечивающие взаимодействие тестируемой системы с тестовым окружением. Тестовая оболочка позволяет одновременно с прогоном тестов проводить автоматизированный анализ результатов тестирования.
1 - 3 из 3 результатов